﻿//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<iostream>
//using namespace std;
////解决名称冲突
////返回对象本身用*this
//class person {
//public:
//	int age;
//public:
//	person(int age)
//	{
//		this->age = age;//解决命名冲突问题
//	}
//	person perosnaddperson(person p)//实现一个对象加等另一个对象，返回这个对象本身
//	{
//		this->age += p.age;
//		return *this;//返回对象本身用*this
//	}
//};
//void test01()
//{
//	person p1(20);
//	cout << "p1.age = " <<p1.age<< endl;
//	person p2(p1);
//	//链式编程思想
//	p2.perosnaddperson(p1).perosnaddperson(p1).perosnaddperson(p1);
//	//如果不是引用返回，返回的是*this的拷贝，拷贝再调用personaddperson函数
//	//结果为：40
//	cout << "p2._age = " << p2.age << endl;
//}
//int main()
//{
//	test01();
//	system("pause");
//	return 0;
//}